package com.rabbit.eap.config.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.springframework.stereotype.Component;

/**
 * @projectName eap
 * @packageName com.rabbit.eap.config.properties
 * @className EapInterceptorProperties
 * @author： rabbit
 * @version： 1.0
 * @since： 2020/4/17 22:45
 * <p>Description: EapInterceptorProperties
 * eap拦截器配置属性
 * </p>

 */
@Data
@Component
@ConfigurationProperties(prefix = "eap.interceptor")
public class EapInterceptorProperties {
    /**
     * SpringBootAdmin权限拦截器
     */
    private InterceptorConfig springBootAdmin = new InterceptorConfig();

    /**
     * 自定义权限拦截器
     */
    @NestedConfigurationProperty
    private InterceptorConfig permission = new InterceptorConfig();

    /**
     * 资源拦截器
     */
    @NestedConfigurationProperty
    private InterceptorConfig resource = new InterceptorConfig();


    @Data
    public static class InterceptorConfig {

        /**
         * 是否启用
         */
        private boolean enable;

        /**
         * 包含的路径
         */
        private String[] includePaths = new String[]{};

        /**
         * 排除路径
         */
        private String[] excludePaths = new String[]{};


    }
}
